package cn.iocoder.yudao.module.ad.effect.dal.dataobject;

import cn.iocoder.yudao.framework.business.basic.pojo.po.MemberScopeEntity;
import cn.iocoder.yudao.module.api.ad.effect.enums.AdEffectSceneEnum;
import cn.iocoder.yudao.module.api.ad.effect.enums.AdEffectTypeEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 广告效果记录 DO
 *
 * @author 山野羡民（1032694760@qq.com）
 */
@TableName("ad_effect_record")
//@KeySequence("ad_effect_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@NoArgsConstructor
public class AdEffectRecordDO extends MemberScopeEntity {

    /**
     * 计划编号
     */
    private Long planId;

    /**
     * 场景（10:看广告增值联盟豆，20:扫商家收款码付款）
     *
     * @see AdEffectSceneEnum
     */
    private Integer scene;

    @TableField(exist = false)
    private String sceneName;

    @SuppressWarnings("unused")
    public String getSceneName() {
        return AdEffectSceneEnum.valueOf(getScene()).getName();
    }

    /**
     * 类型（1:曝光，2:点击，11:播放, 100:任务提交）
     *
     * @see AdEffectTypeEnum
     */
    private Integer type;

    @TableField(exist = false)
    private String typeName;

    @SuppressWarnings("unused")
    public String getTypeName() {
        return AdEffectTypeEnum.valueOf(getType()).getName();
    }

    /**
     * 时长，单位为秒
     */
    private Integer duration;

    /**
     * 花费金额，单位为分
     */
    private Integer spendPrice;

}
